CORE_OBJ = src/Core/Core.o src/Core/FSM/FSM.o src/Core/Alarma/Alarma.o src/Core/Evento/Evento.o src/Core/Pantalla/Pantalla.o src/Core/Timer/Timer.o
ESTADOS_OBJ = src/Core/FSM/EstadoJuego.o
MAPA_OBJ = src/Mapa/Mapa.o src/Mapa/VistaDeMapa.o src/Mapa/Tile.o src/Mapa/Tileset.o
ENTIDAD_OBJ = src/Entidades/Entidad.o src/Entidades/VistaDeEntidad.o src/Controlador/ControladorDeJugador.o
OTROS_OBJ = src/funciones_globales.o src/Otros/Punto.o src/SeguidorDeEntidad/SeguidorDeEntidad.o
SDL_FLAGS = -lSDL -lSDL_image

OBJETOS = $(CORE_OBJ) $(ESTADOS_OBJ) $(MAPA_OBJ) $(ENTIDAD_OBJ) $(OTROS_OBJ)

rpg: src/rpg.o $(OBJETOS) $(SDL_FLAGS)
	g++ -o $@ $^ 

#.o.cpp:
#	g++ -c -o $@ $<

src/rpg.o: src/rpg.cpp src/definiciones_globales.h

# CORE_OBJ
src/Core/Core.o: src/Core/Core.cpp src/Core/Core.h
src/Core/FSM/FSM.o: src/Core/FSM/FSM.cpp src/Core/FSM/FSM.h src/Core/FSM/Estado.h src/definiciones_globales.h
src/Core/Alarma/Alarma.o: src/Core/Alarma/Alarma.cpp src/Core/Alarma/Alarma.h src/Core/Core.h
src/Core/Evento/Evento.o: src/Core/Evento/Evento.cpp src/Core/Evento/Evento.h
src/Core/Pantalla/Pantalla.o: src/Core/Pantalla/Pantalla.cpp src/Core/Pantalla/Pantalla.h
src/Core/Timer/Timer.o: src/Core/Timer/Timer.cpp src/Core/Timer/Timer.h

# ESTADOS_OBJ
src/Core/FSM/EstadoJuego.o: src/Core/FSM/EstadoJuego.cpp src/Core/FSM/EstadoJuego.h

#MAPA_OBJ
src/Mapa/Mapa.o: src/Mapa/Mapa.cpp src/Mapa/Mapa.h
src/Mapa/VistaDeMapa.o: src/Mapa/VistaDeMapa.cpp src/Mapa/VistaDeMapa.h
src/Mapa/Tile.o: src/Mapa/Tile.cpp src/Mapa/Tile.h
src/Mapa/Tileset.o: src/Mapa/Tileset.cpp src/Mapa/Tileset.h

#ENTIDAD_OBJ
src/Entidades/Entidad.o: src/Entidades/Entidad.cpp src/Entidades/Entidad.h
src/Entidades/VistaDeEntidad.o: src/Entidades/VistaDeEntidad.cpp src/Entidades/VistaDeEntidad.h
src/Controlador/ControladorDeJugador.o: src/Controlador/ControladorDeJugador.cpp src/Controlador/ControladorDeJugador.h

# OTROS_OBJ
src/funciones_globales.o: src/funciones_globales.cpp src/definiciones_globales.h
src/Otros/Punto.o: src/Otros/Punto.cpp src/Otros/Punto.h
src/SeguidorDeEntidad/SeguidorDeEntidad.o: src/SeguidorDeEntidad/SeguidorDeEntidad.cpp src/SeguidorDeEntidad/SeguidorDeEntidad.h

clean:
	rm -f src/rpg.o $(OBJETOS)

